//
// Created by gavin on 2017/1/20.
//

#ifndef SCANFILES_SCANFILES_H
#define SCANFILES_SCANFILES_H
#include <list>
#include <string>
#include "FilesData.h"

using namespace std;

class ScanFiles {
public:
    static ScanFiles *getInterface();
    int init(const char * path, list<string> fileType);
    void uninitScanFileType();
    list<string> *getFileTypeList(const char * fileType);

private:
    ScanFiles();
    list<FilesData *> filesData;

    int scanPath(const char *path);
    void initScanFileType(list<string> fileType);
    int fileFilter(const char* fileName);
    void addFileTypeFilter(const char * fileType);
    void printScanFiles();
};


#endif //SCANFILES_SCANFILES_H
